一秒進入主題,今天繼續實作練習 Array methods。
顧名思義濾掉某個數,然後印出陣列結果;例如我們不要 43 設 !=43,新的陣列即排除43;或者陣列裡數字不大於 43 那就會列出小於 43 的數字,可以觀察到 length 的改變。
const numarr = [16, 7, 41, 43, 75, 91, 28, 39, 85, 14, 3, 43];
numarr.filter(a => a != 43);
// [16, 7, 41, 75, 91, 28, 39, 85, 14, 3]
numarr.filter(a => a < 43)
// [16, 7, 41, 28, 39, 14, 3]
以下是一些判斷後回傳布林值的方法
將陣列裡每一個元素帶入函式內判斷,全部符合的話會回傳布林值 true,只要有一個不符合,即回傳 false。
const numarr1 = [16, 7, 41, 43, 75, 91, 28, 39, 85, 14, 3, 43];
numarr1.every((b) => b < 2); // false
numarr1.every((b) => b > 2); // true
將陣列裡每一個元素帶入函式內判斷,可以想成與 every() 相反,some() 只要有一個符合,即回傳 true,都不符合會回傳 false。
const numarr2 = [16, 7, 41, 43, 75, 91, 28, 39, 85, 14, 3, 43];
numarr2.some((b) => b > 100); // false,全部都不大於 100
numarr2.some((b) => b < 31); // true,部分小於 31
判斷陣列裡是否包含某個值,有兩個參數第一個是值,第二個是索引值,符合的話回傳 true 否則回傳 false。
const numarr3 = [62, 19, 24, 63, 35, 17];
numarr3.includes(63); // true
numarr3.includes(63, 5); // false,從索引值 5 開始判斷
可判斷該變數是否為陣列。
const x = { name: "Rex", age: 25 };
const y = 5566;
const z = ["Rex", 25, 55, 66];
Array.isArray(x); // false,是 object
Array.isArray(y); // false,是 number
Array.isArray(z); // true
Array-MDN
JavaScript Array 陣列操作方法大全 ( 含 ES6 )-OOXX